
/**
 * 使用 lseek 系统调用创建一个空洞文件
*/

#include <stdio.h>
#include <stdlib.h>

#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>

int main(void)
{

    const char *name = "hole_file";
    int fd;
    if ((fd = open(name, O_WRONLY | O_CREAT, 0666)) < 0)
    {
        perror("Open error:");
        exit(EXIT_FAILURE);
    }

    write(fd, "123456", 6);

   if(lseek(fd, 3000 * 10, SEEK_END) < 0) {
        perror("Lseek error:");
        exit(EXIT_FAILURE);
   }

    write(fd, "123456", 6);

    close(fd);
    return 0;
}